package br.com.pattern.dao;

public class FactoryDao {
	
	private static FactoryDao factory;
	
	private ConnectionDataBaseGeneric connectionDataBaseGeneric;
	
	private FactoryDao(ConnectionDataBaseGeneric connectionDataBaseGeneric){
		this.connectionDataBaseGeneric = connectionDataBaseGeneric;
	}
	
	public static FactoryDao getInstance(){
		
		if(factory == null){
			factory = new FactoryDao(new ConnectionDataBaseMySQL());
		}
		return factory;
	}

	public CategoriaDao getCategoriaDAO(){
		return new CategoriaDao(connectionDataBaseGeneric);
	}
	
	public FornecedorDao getForndecedorDAO(){
		return new FornecedorDao(connectionDataBaseGeneric);
	}
	
	public ProdutoDao getProdutoDAO(){
		return new ProdutoDao(connectionDataBaseGeneric);
	}
	
	public VendedorDao getVendedorDAO(){
		return new VendedorDao(connectionDataBaseGeneric);
	}
	
	public CompraDao getCompraDAO(){
		return new CompraDao(connectionDataBaseGeneric);
	}
	
	public VendaDao getVendaDAO(){
		return new VendaDao(connectionDataBaseGeneric);
	}
}
